tools: arm: allocate large pages to guests.
authorIan Campbell <ian.campbell@citrix.com>
Wed, 9 Jul 2014 12:07:41 +0000 (13:07 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 10 Jul 2014 09:37:46 +0000 (10:37 +0100)
commit5305a316b4b73df6f48e42a9685744db086a3c3d
tree29fb4980b0ad1dc609d6d43044b818fdeba2de84
parent911a3042f3e80c74181361d1e8f11d386c100847
tools: arm: allocate large pages to guests.

Tries to allocate as many large (1G or 2M) pages as it can to the guest and tries
to align to the next larger size on each attempt so that we can attempt to
allocate even larger pages on the next iteration (this is currently only
exercised via a compile time debug option, which is left in place under a #if
0).

Since ARM page tables are consistent at each level there is a common helper
function which tries to allocate a levels worth of pages. The exception to this
consistency is level 0 which does not support table mappings (0.5TB
superpages!).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/libxc/xc_dom_arm.c